package br.com.tiespec.model.Modelo;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="ti_cenario")
public class Cenario extends EntidadeGenerica {

	private static final long serialVersionUID = -8580856789299980990L;

	@Column(length=255, nullable=false)
	private String nome;
	
	@Column(name="ponto_chamada", length=255, nullable=false)
	private String pontoChamada;
	
	@Column(name="fluxo_alternativo", length=255, nullable=false)
	private String fluxoAlternativo;
	
	@ManyToOne(fetch=FetchType.LAZY, optional=true)
	@JoinColumn(name="descricao_estentida_id")
	private DescricaoEstendida descricaoEstendida;
	
	@OneToMany(fetch=FetchType.LAZY, mappedBy="cenario")
	private List<Fluxo> fluxos;
	
	@Override
	public String toJson() {
		// TODO Auto-generated method stub
		return null;
	}

	public DescricaoEstendida getDescricaoEstendida() {
		return descricaoEstendida;
	}

	public void setDescricaoEstendida(DescricaoEstendida descricaoEstendida) {
		this.descricaoEstendida = descricaoEstendida;
	}

	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getPontoChamada() {
		return pontoChamada;
	}

	public void setPontoChamada(String pontoChamada) {
		this.pontoChamada = pontoChamada;
	}

	public String getFluxoAlternativo() {
		return fluxoAlternativo;
	}

	public void setFluxoAlternativo(String fluxoAlternativo) {
		this.fluxoAlternativo = fluxoAlternativo;
	}
	
	public List<Fluxo> getFluxos() {
		return fluxos;
	}
	
	public void setFluxos(List<Fluxo> fluxos) {
		this.fluxos = fluxos;
	}
}